Grid computing is a form of computer networking. Whereas conventional computer networks focus on communication between devices, grid computing typically harnesses the processing power of multiple computers within a network, and can be used for solving problems which are too intensive for a stand-alone machine. Grid computing also involves the sharing of computer resources. A single computer user whose normal requirements for computer processing power are fairly minor may occasionally have more substantial needs, and the existence of a computer grid enables the user to use external computer resources for a period of time.
Conventionally, grid computing environments are used for computational intensive applications, such as for weather forecasting, molecular biology studies involving millions of molecules, and financial risk analysis tools. These applications are submitted as batch jobs that typically do not require user interaction after the applications are submitted. Resource on demand environments are starting to be utilized in a more comprehensive manner, such as in a data center for executing a large variety of applications. These resource on demand environments can efficiently allocate resources as needed. However, these environments also typically support batch jobs. Thin clients are becoming increasingly popular as a way to manage user applications. Thin clients are typically connected to one or more servers that run all the user applications and support remote desktop sessions with the users. However, the servers may not be provided in a resource on demand environment, and thus may be unutilized at times, such as during off-peak times.